package com.attendance.service;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.attendance.entity.ApplyLeave;
import com.attendance.entity.dto.ApplyLeaveDTO;
import com.common.util.Examine;
import com.staff.entity.Staff;

public interface IApplyLeaveService {
	public Page<ApplyLeaveDTO> findPage(String staffName,String staffNum,Pageable pageable);
	public Page<ApplyLeaveDTO> findPersonalApply(Long staffId,Pageable pageable);
	public Page<ApplyLeaveDTO> findUnauditedApply(Long auditorId,Pageable pageable);
	public boolean isLauncher(Long launchId,Long applyLeaveId);
	public void saveOrUpdate(ApplyLeave applyLeave,Staff staff);
	public ApplyLeave findOne(Long id);
	public void toExamine(ApplyLeave applyLeave,Examine status,Long auditorId);
	public void callBack(Long applyLeaveId,Long staffId);
	public Staff getStaff(Long id);
}
